
#ifndef BUTTONPANEL_H
#define BUTTONPANEL_H

#include <BGroupBox>
#include <BButton>
#include <BLineEdit>
#include <BComboBox>
#include <BSpinBox>
#include <BButton>
#include <BCheckBox>

#include "AlignWidget.h"

class ButtonPanel : public BGroupBox
{
public:
	ButtonPanel(BWidget* parent = 0);

protected:
	void slotAssetChanged();

	void slotCheckableChanged(BObject* object, const BValue& value);
	void slotFormChanged(BObject* object, const BValue& value);
	void slotAlignButtonChecked();
	void slotAlignChoosed(BObject* object, const BValue& value);
	void slotAlignWidgetFocused(BObject* object, const BValue& value);
	void slotSpacingChanged(BObject* object, const BValue& value);
	void slotColorButtonChecked(BObject* object, const BValue& value);
	void slotGraphChoosed(BObject* object, const BValue& value);
	void slotChooseIconFile();
	void slotChooseImageFile();
	void slotTextEdited(BObject* object, const BValue& value);
	void slotIconSizeEdited(BObject* object, const BValue& value);

private:
	BButton*		_button;

	BCheckBox*		_checkableCheckBox;
	BComboBox*		_formComboBox;
	BButton*		_alignButton;
	BSpinBox*		_spacingSpinBox;
	BButton*		_colorButton;
	BComboBox*		_graphComboBox;
	BButton*		_imageButton;
	BButton*		_iconButton;
	BLineEdit*			_textEdit;
	BSpinBox*		_iconWidthSpinBox;
	BSpinBox*		_iconHeightSpinBox;

	AlignWidget*	_alignWidget;
};

#endif
